package cc.lucien;


import java.lang.reflect.Method;

public class Demo03 {
    public static void main(String[] args) {
        // 获取到 Student 类的 Class 对象
        Class<Student> c1 = Student.class;

        try {
            // 获取方法
            Method method = c1.getMethod("getName");
            System.out.println(method);
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        }

        //获取所有的 public 方法，包含父类的方法
        Method[] methods = c1.getMethods();
        for (Method m : methods) {
            //System.out.println(m);
        }

        // 获取声明的方法
        try {
            Method write = c1.getDeclaredMethod("write");
            System.out.println(write);
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        }

        // 获取所有声明的方法
        methods = c1.getDeclaredMethods();
        for (int i = 0; i < methods.length; i++) {
            System.out.println(methods[i]);
        }
    }
}
